Method and system for maintaining a wireless data connection

ABSTRACT

A system and method for establishing and maintaining an “always-on” data connection to a wireless network through the use of a back off timer and a service check timer is disclosed. The back off timer is initialized to a determined value when a connection is not established. When the timer expires, a connection attempt is made. As further connection attempts are made, the back off timer is set to ever-increasing values. When the data connection is established, the service check timer is initialized. The data connection status is determined at the expiry of the service check timer. When, at the expiry of the service check timer, the data connection is determined to be lost, the connection method is employed.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority from and is related to the followingprior application: “METHOD AND SYSTEM FOR MAINTAINING A WIRELESS DATACONNECTION,” U.S. Provisional Application No. 60/423371, filed Nov. 4,2002. This prior application, including the entire written descriptionand drawing figures, is hereby incorporated into the present applicationby reference.

FIELD OF THE INVENTION

The present invention relates generally to managing connections towireless networks. More particularly, the present invention relates toinitiating and maintaining a connection to a wireless data network.

BACKGROUND OF THE INVENTION

Wireless data networks allow mobile devices to be remotely connected toservices such as email distribution and internet browsing withoutconnection to a conventional computer interface. Many publiclyaccessible data networks that can function over a wide area rely upon acellular infrastructure and are tied to cellular protocols such as IS-95which describes Code Division Multiple Access (CDMA) cellularcommunications, and the Global System for Mobile communications (GSM).Each cellular protocol has a companion data protocol. For GSMcommunications General Packet Radio Service (GPRS) is the packet datacompanion protocol, for IS-95 networks the “One Times Radio TransmissionTechnology” standard (1×RTT) defined in the CDMA2000 specification isthe companion data protocol.

1×RTT provides CDMA2000 air interface devices with a packet based radioservice that is capable of high data transmission rates, and supportsboth simple IP and mobile IP data connections. One disadvantage of the1×RTT system is that network resources such as IP address are consumedsimply maintaining a series of otherwise inactive connections. This isproblematic for many carriers as resources such as the IP address spaceare finite and cannot be extended. As a result, carriers commonly dropinactive data connections when networks become congested to releaseoccupied resources. Additionally, carriers often drop connections thathave not been active for a fixed period of time regardless of networkusage levels, so that resources are not allocated to inactiveconnections. A device that has been disconnected from the network due toinactivity typically releases its assigned network resources and onlyreconnects when the user of the mobile device attempts to access dataservices.

If a connection is terminated, the resources allocated to the mobiledevice are released. Thus upon reconnecting to the network, the mobiledevice is reassigned resources, which it typically then registers with anumber of services. However, between the time the resources are releasedand the time at which the reacquired resources are registered, thedevice is not available for service. This is problematic for pushenabled “always-on” devices since connections are important forbi-directional communications, which involve data transfers that are notinitiated by the mobile device. If the wireless data connection is beingused to push data from a remote server to a mobile device, the mobiledevice must remain connected, as a remote server cannot connect to amobile device that the network has disconnected. Such a device requiresan “always-on” 1×RTT data connection that is capable of automaticallyrecovering from a disconnection.

Another problem presented by present 1×RFT devices occurs when a dataconnection cannot be immediately obtained. This can occur both at thetime at which the device is initialized, and at the time that the deviceattempts to reacquire a connection. Typically the device will eithercontinuously poll the network for a connection, or it will make a fixednumber of connection attempts before it determines that a connectioncannot be obtained at which time it will seek user interaction. Thefirst method is counterproductive as it increases network traffic, whichreduces the capacity for data channels. As a result, many networksprohibit continuous polling. If the device experiences difficultyconnecting to the wireless data network, seeking user interaction merelynotifies the user of the lack of connection, and does not assist inreacquiring the connection.

It is, therefore, desirable to provide a mobile device for connecting toa 1×RTT data network that is capable of maintaining an “always-on” dataconnection with automatic disconnect recovery to minimise the amount oftime that a data connection is not available.

SUMMARY OF THE INVENTION

It is an object of the present invention to obviate or mitigate at leastone disadvantage of previous methods of establishing and maintainingdata connections in wireless networks.

In a first aspect of the present invention, there is provided a methodof establishing a data connection on a wireless data network. The methodcomprises the steps of determining that no data connection to thewireless data network is established; initializing a back off timerbased on a previous number of connection requests; automaticallytransmitting a connection request to the wireless data network uponexpiry of the back off timer; and establishing a data connection if thetransmitted connection request is accepted by the wireless data network.In an embodiment of the present invention, the wireless data network isa CDMA2000 network, and the step of determining that no data connectionis established includes receiving a refusal of service message from thewireless data network, where the refusal of service message is selectedfrom a list including Retry Order, Release Order, Reorder Order andIntercept Order messages or other failure events. In embodiments wherethe refusal of service message is an Intercept message, the connectionrequest can be automatically transmitted upon detection of a newwireless data network. In another embodiment of the present invention,the back off timer is initialized to a value based on a random seed, andis optionally restricted to a value greater than or equal to any backoff timer time calculated after a last established data connection. Inyet another embodiment of the present invention, initializing the backof timer is based on a retry delay specified by the retry order, wherethe back off timer is optionally initialized to a time greater than orequal to the retry delay. In another embodiment, the connection requestis an Origination Message in CDMA 2000 and Activate PDP Context Requestin GPRS.

In a second aspect of the present invention, there is provided a methodof automatically re-establishing a data connection on a wireless datanetwork. The method comprises the steps of determining a data connectionstatus upon the expiry of a service check timer; automaticallytransmitting a connection request if the data connection is determinedto be lost; and reestablishing the data connection if the transmittedconnection request is accepted by the wireless data network. In anembodiment of the second aspect of the invention, the step ofdetermining the data connection status is preceded by initializing theservice check timer. In another embodiment, the step of automaticallytransmitting the connection request is performed upon expiry of a backoff timer, where the back off timer is optionally initialized to a valuebased on a retry delay specified by a received Retry Order. In a furtherembodiment of the present invention, the step of determining the dataconnection status includes comparing assigned network resources todefault values, where the step of comparing optionally includesdetermining that no data connection is established when an assignedInternet Protocol address is set to 0.0.0.0.0. In a further embodiment,the method includes a step of forcing premature expiry of the servicecheck timer upon receipt of a Release Order. In other embodiments of theinvention, the Release Order is a Point-to-Point-Protocol terminationrequest and the connection request is an Origination Message in CDMA2000and Activate PDP Context Request in GPRS.

In a third aspect of the present invention, there is provided a mobiledevice for establishing and maintaining a data connection to a wirelessdata network. The mobile device comprises a back off timer, a servicecheck timer and a connection manager. The back off timer is for timing aback off period. The service check timer is for timing a service checkperiod. The connection manager is for determining that a data connectionto the wireless network is established at expiry of the service checktimer, resetting the service check timer upon its expiry if a connectionis established, transmitting connection requests to the wireless networkupon initialisation, upon expiry of the back off timer and upondetermination that the established data connection has been lost, andfor resetting the back off timer in response to receipt of a connectionrejection from the wireless network. In an embodiment of the presentinvention, the wireless data network is a CDMA2000 network. In anotherembodiment of the present invention, the connection manager includesmeans to reset the back off timer in response to the receipt of a RetryOrder, such that the back off timer is greater than, or equal to, aretry delay specified in the Retry Order. In a further embodiment of thepresent invention, the connection manager includes both an accumulatorfor tracking consecutive rejections of service, and means to reset theback off timer in accordance with the number of consecutive rejectionsand means for causing premature expiry of the service check timer inresponse to the receipt of a Release Order.

Other aspects and features of the present invention will become apparentto those ordinarily skilled in the art upon review of the followingdescription of specific embodiments of the invention in conjunction withthe accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will now be described, by way ofexample only, with reference to the attached Figures, wherein:

FIG. 1 is a block diagram of a mobile device in a wireless dataenvironment;

FIG. 2 is a block diagram of a mobile device of the present invention;

FIG. 3 is a flowchart illustrating of a method according to anembodiment of the present invention;

FIG. 4 is a flowchart illustrating a method of the present invention;and

FIG. 5 is a flowchart illustrating a method of the present invention.

DETAILED DESCRIPTION

Generally, the present invention provides a method and system forestablishing and maintaining a data connection between a mobile deviceand wireless data network. For mobile devices that rely upon beingpushed data in real time, maintaining a data connection to the wirelessdata network is an important design requirement. However, it isgenerally undesirable for the network operator to allow data connectionsto be permanently maintained for all devices. Networks lack both asimple method of identifying devices that require always-on connections,and a simple means to prioritize device connections. Thus, networks aredesigned to indiscriminately disconnect mobile devices under a number ofcircumstances to prevent or relieve congestion. As a result, even if amobile device is able to secure an initial data connection the dataconnection may be severed by the network at a future time. The presentinvention mitigates the problems of the prior art by providing both amobile device and method for obtaining a data connection and maintainingthe connection once it is in place.

After being powered up, a mobile device of the present inventiontypically seeks a CDMA2000 data network to connect to and negotiatewith. If successful, the negotiation results in the network assigningthe mobile device the network resources required for a data connection.Among the resources assigned is an IP address that uniquely identifiesthe mobile device. Typically, these resources are obtained by the mobiledevice through the transmission of a data-based Origination Message tothe wireless data network. Once the data connection is established, datatraffic can be pushed from a server to the mobile device by transmittingdata packets to the IP address assigned to the mobile device.

FIG. 1 illustrates the connection of a mobile device of the presentinvention to a wireless network capable of providing both voice and datatelephony services. A mobile device 100 connects over a wireless link toa base transceiver system (BTS) 102. BTS 102 serves as both atransmitter and receiver for data exchanged between mobile device 100and the wireless network. BTS 102 is controlled by base stationcontroller (BSC) 104, which in a preferred embodiment connects to aplurality of BTSs. This allows mobile device 100 to move outside therange of BTS 102 and remain connected to the wireless network so long asit is in the range of another BTS. BSC 104 connects mobile device 100 tothe mobile switching center (MSC) 106, which allows voice basedtelephony calls to be placed to public switched telephone network (PSTN)108 or another wireless network (not shown). BSC 104 also connectsmobile device 100 to public switched data network (PSDN) 110. PSDN 110allows data traffic from mobile device 100 to be routed from thewireless network to another connected network, such as Internet 112.Connected to Internet 112 is a data service 114, which is accessible tomobile device 100. Upon negotiating a data connection, mobile device 100is provided with an IP address, and optionally a domain name. Mobiledevice 100 can then connect to data service 114. Thus, to push real timedata to mobile device 100, data service 114 simply addresses datapackets to the IP address provided, and transmits them through Internet112 and the wireless network to mobile device 100.

FIG. 2 illustrates a presently preferred embodiment of mobile device100. Mobile device 100 is a wireless communication device for receivingdata from, and transmitting data to, BTS 102. Typically the connectionto BTS 102 is achieved using antenna 148 to establish a data channelthrough the air interface physical layer. Reference made to checking aconnection, except where made explicitly clear to the contrary, refersto determining if a data channel is in place to logically attach mobiledevice 100 to the network using the RF physical layer link. Theconnection status is typically provided to the user of mobile device 100by means of a visual indication on display 150. The status of theconnection is monitored by connection manager 156, which providesdisplay 150 with a status indication, and is used to establish aconnection on power up. Connection manager 156 maintains the connection,once established, by re-establishing a connection, using the connectionestablishment methods of the present invention, when the connection isreleased.

Connection Manager 156 determines the status of the connection, asdescribed in relation to FIG. 3, when a variety of events occur. Theseevents include receipt of a Release Order, receipt of a PPP TerminationRequest, and the expiry of Service Check Timer (SCT) 154, one skilled inthe art will appreciate that other failure events can also causeconnection manager 156 to determine the status of the connection. SCT154 is used to ensure that connection manager 156 checks the connectionat minimum fixed intervals. Connection manager 156 can also reset SCT154 when either SCT 154 expires or upon receipt of data traffic. Asdescribed in below, upon determining loss of connection, connectionmanager 156 issues a connection request message to the network viaantenna 148 and BTS 102. If the connection request message is rejectedconnection manager 156 sets back off timer (BOT) 152, to a valuepreferably determined by a random seed. Upon expiry of BOT 152,connection manager 156 re-issues a connection request in the form of anOrigination Message.

Wireless networks are designed to handle congestion in a number of ways.Typically, if a network is overly congested when a connection requestmessage is received, the connection is refused, no network resources areassigned, and a Reorder Order or a Release Order is issued to mobiledevice 100. The Reorder Order serves to notify mobile device 100 thatthe network is busy and therefore cannot provide service. In its initialimplementation a Reorder Order was designed to notify a user of awireless device that the network was too congested to accept a new voiceconnection. Use of the Reorder Order has been extended by some networkoperators to serve as a rejection message for data services in additionto voice services. For voice based connections, the receipt of a ReorderOrder typically results in a warning tone. Many devices do not providethis warning tone when a Reorder Order is received as a result of afailed data connection attempt. Even if a device is designed to providethe warning tone to indicate the receipt of a Reorder Order in responseto a failed data connection, it is impractical to expect that a user ofan always-on device, such as mobile device 100, will manually retry toreconnect until a connection is obtained.

In a voice only implementation, a user typically either attempts tore-initiate the connection by redialling, or the wireless deviceperiodically attempts to reconnect. To maintain an “always-on”connection in a data environment, mobile device 100 must transmitrepeated connection request messages until a connection is establishedand “pushed” data can be received. An “always-on” device that reliesupon push technology to receive information from a host on the networkmust maintain the data connection. Constant polling of the network isdiscouraged by carriers as it is counter-productive and simply consumesbandwidth that could otherwise be allocated to active data connections.Continuous or periodic polling to determine the availability of aconnection increases network congestion, which is counterproductive toestablishing a connection, and decreases the effective battery life ofthe mobile device, which cannot remain in a power saving mode whentransmitting the polling packets or receiving the replies to them.

Congestion in a wireless network can also result in the termination ofalready established data connections. If the mobile device is connected,but not actively using its channel, the network can reduce congestion byissuing a Release Order, which causes the mobile device to release theresources allocated to it. Typically, upon receiving a Release Order,mobile device 100 resets its assigned network resources to a defaultvalue. In a presently preferred embodiment, mobile device 100 resets itsIP address to “0.0.0.0.0”. These congestion management features, alongwith events such as the mobile device entering a region of poor coverageand service option rejections due to incompatibility between the mobiledevice settings and the network, can cause mobile device 100 to lose thedata connection to the network.

Retry Orders are known in the art and are a data based analog to aReorder Order. Typically a Retry Order is provided in response to anOrigination Message if the network cannot provide a connection.Typically, Retry Orders specify a retry time that mobile device 100 mustwait before retrying to establish the connection. Retry Orders can alsobe transmitted to mobile device 100 to either clear or increase apreviously provided retry time. If a number of mobile devices are allprovided Retry Orders that expire simultaneously there will be increasedcontention for the connections at the time of the retry timer expiry.

Several options exist for either establishing a data connection afterbeing initially refused a connection, or re-establishing a released dataconnection. Transmitting a series of spaced apart connection requestmessages, and allowing mobile device 100 to go into a power saving modein the time between connection request message transmissions provides areasonable chance of connection establishment, and prevents excessbattery consumption.

Mobile device 100 preferably generates a connection request message datacall when it detects CDMA2000 services. FIG. 3 illustrates a method ofestablishing a connection according to the present invention. Mobiledevice 100 is powered on in step 116. As part of its start up routine,mobile device 100 issues a connection request to the wireless network instep 118. In a presently preferred embodiment of the present invention,the connection request is an Origination Message in CDMA2000 andActivate PDP Context Request in GPRS. After transmitting the connectionrequest in 118, mobile device 100 typically receives the networkresponse in step 120. In step 122, the response is analysed to determineif the connection has been established, as is well known in the art.When the connection is established in step 122, a service check timer(SCT) is started, and upon its expiry in step 124, the IP addressassigned to mobile device 100 is compared to “0.0.0.0.0” to determine ifthe connection still exists. In a presently preferred embodiment, theservice check timer is started after mobile device 100 enters aninactive data mode. As is well understood in the art, mobile device 100resets its IP address to a default value, “0.0.0.0.0” in thisimplementation, when a connection is no longer available. One skilled inthe art will readily appreciate that a number of other connectionchecking techniques are known, and can be substituted for this testwithout departing from the present invention. If the connection is stillestablished the IP address will not be “0.0.0.0.0”, and the processreturns to step 124, if the connection has been dropped, the processreturns to step 118 and issues a new connection request.

If in step 122 it is determined from the network response received in120 that the issued connection request message did not establish aconnection, a back off timer is initialized in 128. It is preferablethat this step only occurs if the failure to connect is not due to thereceipt of an intercept order. A presently preferred method of handlingan intercept order is described below. In a presently preferredembodiment, the back off timer is started by calculating a back offtime. If the back off timer is determined to have expired in step 130,the process returns to step 118.

In a presently preferred embodiment, the connection timer is set in 128using a back off algorithm provided by a timer initializer, preferablyone seeded with a random value. Randomly seeded back off times allow aplurality of mobile devices, that have all simultaneously beendisconnected, to provide the network with spread out requests, toprevent congestion due to an influx of connection request messages. In afurther embodiment, the back off algorithm periodically increases theamount of time between retries. Thus, mobile device 100 retries for aconnection at fixed intervals that increase at a predetermined rate.This is implemented to provide battery life savings. Battery life isextended in most cases because when mobile device 100 cannot establish aconnection after a series of rapid requests, it is likely that eitherthere is a network problem or mobile device 100 has left an area withproper service. In either case, sending connection requests spacedevenly apart does not statistically increase the chances of establishinga connection quickly. By increasing the time intervals between attempts,mobile device 100 is able to wait in a power saving mode, which willextend battery life.

In a further embodiment, after being initialized in step 128, thebackoff timer is compared to the information provided in a Retry Order.If the Retry Order specifies a minimum retry period, the back off timeris adjusted so that it is not less than the retry period. This ensuresthat mobile device 100 does not attempt to re-establish a connectionuntil after the retry period has expired. Alternately, the timer isalways set to the time value specified in the Retry Order, if one isprovided, and set to the calculated value only if there is no time valuespecified in the Retry Order.

Mobile device 100 is typically controlled by an operating system thatprovides the user with an interface to the functionality, such as emaildistribution, of mobile device 100. In a presently preferred embodiment,received Reorder Orders result in an “event” that is passed to theapplication layer of mobile device 100. The application layer isdesigned to implement the above method to establish a connection, andapplies the appropriate back off re-connect algorithm to set the backoff timer. When the back off timer expires, the application layer issuesanother connection request message; If re-connection fails, and anotherReorder Order is received, another random back off period is applied. Ina presently preferred embodiment, a back off period is equal to orgreater than the previous back off period, so that the length of timebetween retries is non-decreasing. Preferably, until the connection isestablished a “No Data Service” indication is displayed on the userinterface of mobile device 100 so that the user knows that data serviceis not available. When a connection is established, mobile device 100preferably indicates the availability of data service to the user on theuser interface.

When a Retry Order is received in response to an connection requestmessage, the BSC 104 typically specifies a retry delay inside the RetryOrder. In this case, the application layer of mobile device 100calculates a back off timer as before, but requires that the timer notbe shorter than the retry delay. Retry orders in the CDMA2000specification can also include information about other service optionsthat are available. If these alternative service options are supported,mobile device 100 can send a connection request message with alternativeservice options during the retry delay. If any of the connection reqeustmessages transmitted with alternate service options is successful, theback off timer is preferably cancelled by the application layer.Otherwise mobile device 100 waits until the back off timer expires, andthen transmits another Origination Message with the original serviceoption.

The network can also send a Retry Order with retry delay set to zero.This is to indicate to a wireless data device that there is no retrydelay. Such a Retry Order is commonly used by carriers to clearpreviously set retry delays. When a Retry Order with retry delay set tozero is received by a mobile device, the application layer willpreferably cancel any pending retry delay timer and immediatelyretransmit an Origination Message.

When mobile device 100 powers up, its IP address is typicallyinitialized to “0.0.0.0.0”. Mobile device 100 may have its IP addressreset to this address, or another default value, if BTS 104 transmits aRelease Order, with PPP Termination Request. When such a request isreceived, or when the service check timer expires, as in step 124,mobile device 100 examines its IP address. If the IP address is set toits default value, mobile device 100 starts data connection request andPPP renegotiations, as described in step 118. If along with the PPPtermination request, a Reorder Order or Retry Order is transmitted,mobile device 100 will wait until the expiry of the calculated back offtimer before returning to step 118.

FIG. 4 illustrates an exemplary embodiment of a method of the presentinvention. Upon establishing a data connection in step 160, mobiledevice 100 initializes SCT 154 in step 162. Preferably, theinitialisation of SCT 154 in step 162 is preceded by the cessation ofdata transmissions, as it is not strictly necessary to check the statusof a connection that is in use. When SCT 154 expires at step 164connection manager 156 checks the connection status in step 168.Alternatively, connection manager 156 checks the connection status in168 if a Release Order, or other such message is received in 166. In oneembodiment of the present invention, upon receiving a Release Order instep 166, the SCT 154 is reset to 0 to cause the connection check instep 168. Steps 126, 118 122, 128 and 130 are carried out as describedin relation to FIG. 3.

FIG. 5 illustrates an exemplary embodiment of the persistent attachmethod of the present invention. Mobile device 100 is powered on in step116, and a connection request is issued in step 118. In a presentlypreferred embodiment, the connection request is a Origination Message inCDMA2000 and Activate PDP Context Request Message in GPRS. The networkresponse is received in step 120. In step 122 mobile device 100determines if a connection has been established. If it is determinedthat a connection has been established in step 122, mobile device 100proceeds to step 160, which can be used as the starting point of themethod of FIG. 4. If a connection is not established, BOT 156 isinitialized in step 128, and upon its expiry in step 130, a connectionrequest is re-issued in step 118.

In a number of circumstances, such as roaming on an unauthorizednetwork, mobile device 100 can fail a network authentication challenge.In the event of a failed network authentication challenge, mobile device100 receives an Intercept Order. In a presently preferred embodiment,mobile device 100 does not set its back off timer, but waits until ithas detected a new network before re-issuing a connection request.During this period of time the user can be notified that there is a lackof service through an indication on the display or through an audio cue.One skilled in the art will readily appreciate that a number oftechniques known in the art exist for detecting the presence of a newnetwork.

The back off algorithm described above is preferably employed in thefollowing manner. Mobile device 100 determines that it no longer has adata connection, as in step 124. In a presently preferred embodimentthis is determined by the verification of an IP address in step 126,where an address of “0.0.0.0.0” indicates that the connection has notbeen maintained. If it is determined that a connection is not available,mobile device 100 attempts to connect to the wireless data network instep 118. If the connection is successful, then the process iscompleted, and the device waits for the expiry of its service checktimer in step 124. In a presently preferred embodiment, the servicecheck timer is only set after data activity has stopped, so step 124 ispreferably preceded by the cessation of data transmission after dataactivity has stopped. If a connection is not established, as determinedin steps 120 and 122, the response from the network, received in step120, is examined. If the response from the network does not prescribewhen a reconnection attempt will be allowed, the back off timer isinitialized to a value determined based on the number of previousattempts to connect, and the network conditions, as described inconjunction with step 128. When the back off timer expires in step 130,a connection request is reissued and the process returns to step 118. Ifthis reissued connection request results in a connection then theprocess is completed, and the device returns to step 124. If theconnection is unsuccessful, the timer is reinitialized in 128 to eithera recalculated value or a value provided by the network. This repetitionof setting the back off timer and requesting a connection is continueduntil the connection is established, or the device is powered down.

It is preferable that the BOT value be no less than the value of aprevious timer, and that in the event that a Retry Order specifies aretry period, the longer of the retry period and the randomly generatedback off timer is used as the time until the next retry.

In a presently preferred embodiment of the invention, the timer valuesare precalculated to avoid sending requests at intervals so frequentthat network congestion arises from the requests and so that batterylife is not detrimentally affected. In one embodiment of the presentinvention, the back off timer is first initialized to a value of 30seconds, and increases by 30s intervals at each subsequent attempt. Thisis done with the assumption that if a connection is repeatedly refusedthe device is likely in an area without data service, and the intervalbetween checking for data service can be extended without adverseeffects. It is fully anticipated that the user can attempt to manuallyinitiate service.

The present invention provides a method and system for both establishingan always-on data connection to a network by a persistent retry methodand for maintaining the established data connection by determining theconnection status at the expiry of a service check timer. The variableback-off timer used between connection retries provides for increasedbattery life without significantly delaying connection re-acquisition.One skilled in the art will readily appreciate that mobile device 100will utilise the variable back-off timer, as described above, during itsinitialization in response to a Release Order, an Intercept Order, aReorder Order, a Retry Order, or in the event that the network does notrespond. In the event of receiving a Release Order with service optionrejection where the device does not support other types of dataservices, the device holds off data origination until a new network isfound. In the event of receiving a Release Order with service optionrejection, and the device does support other types of data services,mobile device 100 will preferably attempt a connection with differentservice options, possibly in addition to the standard retry. If theresponse to the connection request message is an Intercept Order, mobiledevice 100 preferably checks for a new network at the expiry of thevariable back-off timer, and only attempts a reconnection if a newnetwork has been identified. In the event that no response is receivedfrom the network, it is likely that mobile device 100 is out of service,and another connection request message is transmitted when a network isdetected. Additionally, one skilled in the art will appreciate that thevariable back off timer of the present invention provides an improvedconnection recovery from the receipt of a Release Order with PPPtermination request, a network dormancy timer expiry or a Reorder Order.Thus the present invention provides a mechanism to reduce the amount oftime spent out of service. It will be apparent to one skilled in the artthat upon reconnection mobile device 100 preferably checks with thenetwork to determine whether or not any events were missed during theperiod without service.

The above-described embodiments of the present invention are intended tobe examples only. Alterations, modifications and variations may beeffected to the particular embodiments by those of skill in the artwithout departing from the scope of the invention, which is definedsolely by the claims appended hereto.

1. A method of establishing a data connection on a wireless datanetwork, the method comprising: determining that no data connection tothe wireless data network is established; initializing a back off timerbased on a previous number of connection requests; automaticallytransmitting a connection request to the wireless data network uponexpiry of the back off timer; and establishing a data connection if thetransmitted connection request is accepted by the wireless data network.2. The method of claim 1, wherein the wireless data network is aCDMA2000 network.
 3. The method of claim 2, wherein the step ofdetermining that no data connection is established includes receiving arefusal of service message from the wireless data network.
 4. The methodof claim 3, wherein the refusal of service message is a retry order. 5.The method of claim 3, wherein the refusal of service message is areorder order
 6. The method of claim 3, wherein the refusal of servicemessage is an intercept message and the connection request isautomatically transmitted upon detection of a new wireless data network.7. The method of claim 1, wherein initializing the back off timer isbased on a random seed.
 8. The method of claim 7, wherein the back offtimer is initialized to a time greater than or equal to any back offtimer time calculated after a last established data connection.
 9. Themethod of claim 4, wherein initializing the back of timer is based on aretry delay specified by the retry order.
 10. The method of claim 9,wherein the back off timer is initialized to a time greater than orequal to the retry delay.
 11. The method of claim 2, wherein theconnection request is an Origination Message.
 12. A method ofautomatically re-establishing a data connection on a wireless datanetwork, comprising: determining a data connection status upon theexpiry of a service check timer; automatically transmitting a connectionrequest if the data connection is determined to be lost; andre-establishing the data connection if the transmitted connectionrequest is accepted by the wireless data network.
 13. The method ofclaim 12, wherein the step of determining the data connection status ispreceded by initializing the service check timer.
 14. The method ofclaim 12, wherein the step of automatically transmitting the connectionrequest is performed upon expiry of a back off timer.
 15. The method ofclaim 14, wherein the back off timer is initialized to a value based ona retry delay specified by a received Release Order.
 16. The method ofclaim 12, wherein the step of determining the data connection statusincludes comparing assigned network resources to default values.
 17. Themethod of claim 16, wherein the step of comparing includes determiningthat no data connection is established when an assigned InternetProtocol address is set to 0.0.0.0.0.
 18. The method of claim 12,including a step of forcing premature expiry of the service check timerupon receipt of a Release Order.
 19. The method of claim 18, wherein theRelease Order is a Point-to-Point-Protocol termination request.
 20. Themethod of claim 12, wherein the connection request is an OriginationMessage.
 21. A mobile device for establishing and maintaining a dataconnection to a wireless data network, the mobile device comprising: aback off timer for timing a back off period; a service check timer fortiming a service check period; and a connection manager for determininga data connection to the wireless network is established at expiry ofthe service check timer, for resetting the service check timer upon itsexpiry if a connection is established, for transmitting connectionrequests to the wireless network upon initialisation, upon expiry of theback off timer and upon determination that the established dataconnection has been lost, and for resetting the back off timer inresponse to receipt of a connection rejection from the wireless network.22. The mobile device of claim 21, wherein the wireless data network isa CDMA2000 network.
 23. The mobile device of claim 22, wherein theconnection manager includes means to reset the back off timer inresponse to the receipt of a Retry Order, such that the back off timeris greater than, or equal to, a retry delay specified in the RetryOrder.
 24. The mobile device of claim 21, wherein the connection managerincludes an accumulator for tracking consecutive rejections of service,and means to reset the back off timer in accordance with the number ofconsecutive rejections.
 25. The mobile device of claim 22, wherein theconnection manager includes means for causing premature expiry of theservice check timer in response to the receipt of a Release Order.